home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 5 / Amiga Tools 5.iso / grafik / 3d & render tools / irit / man / man6 / trimsrf.6 < prev    next >
Text File  |  1996-07-16  |  3KB  |  68 lines

  1. .TH TRIMSRF
  2.  6 "IRIT Version 6.0" 
  3. .SH NAME
  4. TRIMSRF
  5.  
  6.  
  7.  
  8.  TrimSrfType TRIMSRF( SurfaceType Srf,
  9.                       CurveType TrimCrv,
  10.                       NumericType HasUpperLevel )
  11.  
  12.  or
  13.  
  14.  TrimSrfType TRIMSRF( SurfaceType Srf,
  15.                       ListType TrimCrvs,
  16.                       NumericType HasUpperLevel )
  17.  
  18. Creates a trimmed surface from the provided surface Srf and the
  19. trimming curve TrimCrv or curves TrimCrvs. If HasUpperLevel
  20. is FALSE, an additional trimming curve is automatically being added that
  21. contains the entire parametric domain of Srf. No validity test is
  22. performed on the trimming curves which are assumed two dimensional curves
  23. contained in the parametric domain of Srf.
  24.  
  25. Example:
  26.  
  27.     spts = list( list( ctlpt( E3, 0.1, 0.0, 1.0 ),
  28.                        ctlpt( E3, 0.3, 1.0, 0.0 ),
  29.                        ctlpt( E3, 0.0, 2.0, 1.0 ) ),
  30.                  list( ctlpt( E3, 1.1, 0.0, 0.0 ),
  31.                        ctlpt( E3, 1.3, 1.5, 2.0 ),
  32.                        ctlpt( E3, 1.0, 2.1, 0.0 ) ),
  33.                  list( ctlpt( E3, 2.1, 0.0, 2.0 ),
  34.                        ctlpt( E3, 2.3, 1.0, 0.0 ),
  35.                        ctlpt( E3, 2.0, 2.0, 2.0 ) ),
  36.                  list( ctlpt( E3, 3.1, 0.0, 0.0 ),
  37.                        ctlpt( E3, 3.3, 1.5, 2.0 ),
  38.                        ctlpt( E3, 3.0, 2.1, 0.0 ) ),
  39.                  list( ctlpt( E3, 4.1, 0.0, 1.0 ),
  40.                        ctlpt( E3, 4.3, 1.0, 0.0 ),
  41.                        ctlpt( E3, 4.0, 2.0, 1.0 ) ) );
  42.     sb = sbspline( 3, 3, spts, list( list( KV_OPEN ), list( KV_OPEN ) ) );
  43.     
  44.     TCrv1 = cbspline( 2,
  45.                       list( ctlpt( E2, 0.3, 0.3 ),
  46.                             ctlpt( E2, 0.7, 0.3 ),
  47.                             ctlpt( E2, 0.7, 0.7 ),
  48.                             ctlpt( E2, 0.3, 0.7 ),
  49.                             ctlpt( E2, 0.3, 0.3 ) ),
  50.                       list( KV_OPEN ) );
  51.     TCrv2 = circle( vector( 0.5, 0.5, 0.0 ), 0.25 );
  52.     TCrv3 = cbspline( 3,
  53.                       list( ctlpt( E2, 0.3, 0.3 ),
  54.                             ctlpt( E2, 0.7, 0.3 ),
  55.                             ctlpt( E2, 0.7, 0.7 ),
  56.                             ctlpt( E2, 0.3, 0.7 ) ),
  57.                       list( KV_PERIODIC ) );
  58.     
  59.     TSrf1 = TRIMSRF( sb, TCrv1, false );
  60.     TSrf2 = TRIMSRF( sb, TCrv1, true );
  61.     TSrf3 = TRIMSRF( sb, list( TCrv1, TcRv2 * ty( 1 ), TCrv3 * ty( 2 ) ),
  62.                      false );
  63.  
  64. constructs three trimmed surfaces. Tsrf1 contains the outer boundary
  65. and excludes what is inside TCrv1, TSrf2 contains only the
  66. domain inside TCrv1. TCrv3 has three holes corresponds to the
  67. three trimming curves.
  68.